package com.octopus.optiworks.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.JoinColumn;

@Entity
@Table
public class DataSheet implements Serializable{

	private static final long serialVersionUID = 1L;
	
	private Long id;
	
	private String internalPo;
	
	private String customerPo;
	
	private String internalPn;
	
	private String customerPn;
	
	private String sn;
	
	private String ituChannel;
	
	private String channelPassband;
	
	private String reflectedWavelength;
	
	private String passbandInsertionLoss;
	
	private String reflectedInsertionLoss;
	
	private String passbandRipple;
	
	private String reflectedRipple;
	
	private String isolationAdjacentChannel;
	
	private String reflectedIsolation;
	
	private String isolationNonAdjacentChannel;
	
	private String pdl;
	
	private String returnLoss;
	
	private String directivity;
	
	private String packageDimension;
	
	private String operatingTemperature;
	
	private String fiberLength;
	
	private String connectorType;
	
	private String fiberType;
	
	private String portMark;
	
	private Date date;
	
	private Product product;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column
	public String getInternalPo() {
		return internalPo;
	}

	public void setInternalPo(String internalPo) {
		this.internalPo = internalPo;
	}

	@Column
	public String getCustomerPo() {
		return customerPo;
	}

	public void setCustomerPo(String customerPo) {
		this.customerPo = customerPo;
	}

	@Column
	public String getInternalPn() {
		return internalPn;
	}

	public void setInternalPn(String internalPn) {
		this.internalPn = internalPn;
	}

	@Column
	public String getCustomerPn() {
		return customerPn;
	}

	public void setCustomerPn(String customerPn) {
		this.customerPn = customerPn;
	}

	@Column
	public String getSn() {
		return sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}

	@Column
	public String getItuChannel() {
		return ituChannel;
	}

	public void setItuChannel(String ituChannel) {
		this.ituChannel = ituChannel;
	}

	@Column
	public String getChannelPassband() {
		return channelPassband;
	}

	public void setChannelPassband(String channelPassband) {
		this.channelPassband = channelPassband;
	}

	@Column
	public String getReflectedWavelength() {
		return reflectedWavelength;
	}

	public void setReflectedWavelength(String reflectedWavelength) {
		this.reflectedWavelength = reflectedWavelength;
	}

	@Column
	public String getPassbandInsertionLoss() {
		return passbandInsertionLoss;
	}

	public void setPassbandInsertionLoss(String passbandInsertionLoss) {
		this.passbandInsertionLoss = passbandInsertionLoss;
	}

	@Column
	public String getReflectedInsertionLoss() {
		return reflectedInsertionLoss;
	}

	public void setReflectedInsertionLoss(String reflectedInsertionLoss) {
		this.reflectedInsertionLoss = reflectedInsertionLoss;
	}

	@Column
	public String getPassbandRipple() {
		return passbandRipple;
	}

	public void setPassbandRipple(String passbandRipple) {
		this.passbandRipple = passbandRipple;
	}

	@Column
	public String getReflectedRipple() {
		return reflectedRipple;
	}

	public void setReflectedRipple(String reflectedRipple) {
		this.reflectedRipple = reflectedRipple;
	}

	@Column
	public String getIsolationAdjacentChannel() {
		return isolationAdjacentChannel;
	}

	public void setIsolationAdjacentChannel(String isolationAdjacentChannel) {
		this.isolationAdjacentChannel = isolationAdjacentChannel;
	}

	@Column
	public String getReflectedIsolation() {
		return reflectedIsolation;
	}

	public void setReflectedIsolation(String reflectedIsolation) {
		this.reflectedIsolation = reflectedIsolation;
	}

	@Column
	public String getIsolationNonAdjacentChannel() {
		return isolationNonAdjacentChannel;
	}

	public void setIsolationNonAdjacentChannel(String isolationNonAdjacentChannel) {
		this.isolationNonAdjacentChannel = isolationNonAdjacentChannel;
	}

	@Column
	public String getPdl() {
		return pdl;
	}

	public void setPdl(String pdl) {
		this.pdl = pdl;
	}

	@Column
	public String getReturnLoss() {
		return returnLoss;
	}

	public void setReturnLoss(String returnLoss) {
		this.returnLoss = returnLoss;
	}

	@Column
	public String getDirectivity() {
		return directivity;
	}

	public void setDirectivity(String directivity) {
		this.directivity = directivity;
	}

	@Column
	public String getPackageDimension() {
		return packageDimension;
	}

	public void setPackageDimension(String packageDimension) {
		this.packageDimension = packageDimension;
	}

	@Column
	public String getOperatingTemperature() {
		return operatingTemperature;
	}

	public void setOperatingTemperature(String operatingTemperature) {
		this.operatingTemperature = operatingTemperature;
	}

	@Column
	public String getFiberLength() {
		return fiberLength;
	}

	public void setFiberLength(String fiberLength) {
		this.fiberLength = fiberLength;
	}

	@Column
	public String getConnectorType() {
		return connectorType;
	}

	public void setConnectorType(String connectorType) {
		this.connectorType = connectorType;
	}

	@Column
	public String getFiberType() {
		return fiberType;
	}

	public void setFiberType(String fiberType) {
		this.fiberType = fiberType;
	}

	@Column
	public String getPortMark() {
		return portMark;
	}

	public void setPortMark(String portMark) {
		this.portMark = portMark;
	}

	@Column
	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	@OneToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PRODUCTID")
	public Product getProduct() {
		return product;
	}

	public void setProduct(Product product) {
		this.product = product;
	}
	
}
